As a user enters a query into a search box associated with a search engine, the user is often presented with one or more query suggestions that are based on the query or the characters of the query that have been entered by the user so far. These query suggestions are often displayed to the user in a user interface element below the search box and may be generated by the search engine based on a history of queries that have been received by the search engine from the user or other users. The user may then submit the original query that they entered to the search engine or may select one of the displayed query suggestions to submit to the search engine.
There are several drawbacks associated with present techniques for presenting query suggestions. First, search engines typically limit the query suggestions that are presented to the user to some arbitrary number such as the top five, ten, or twenty query suggestions. In addition, there is no way for the user to request additional query suggestions outside of the query suggestions that are initially presented to the user.
Second, there is no way for the user to compare the search results that may be returned by the search engine with respect to each of the query suggestions. For example, using current search engines, if a user wants to compare query suggestions based on search results, the user would first have to submit a query suggestion to the search engine, view the results, return to the search box, re-enter the original query, and select another query suggestion to compare.
Third, current techniques for presenting query suggestions are not optimized for touchscreens, such as those used on tablet computers and smart phones. As described above, query suggestions are typically displayed to a user as text strings in a user interface element that is displayed below the search box. While such text strings may be easily selected using a mouse on a desktop computer, they may not be well suited for selecting using a finger or stylus or other input device through a touchscreen.
Fourth, search engines typically display query suggestions that are forward query suggestions rather than reverse query suggestions. For example, a forward query suggestion may be a query suggestion that has the query as a prefix, while a reverse query suggestion may be a query suggestion that has the query as a suffix. However, there is no way for the user to switch between viewing forward query suggestions and reverse query suggestions.